home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / program / 441 / dlibs12 / fseek.c < prev    next >
C/C++ Source or Header  |  1990-11-23  |  647b  |  38 lines

  1. #include <osbind.h>
  2. #include <stdio.h>
  3. #include <errno.h>
  4.  
  5. long ftell(fp)
  6.     register FILE *fp;
  7.     {
  8.     register long rv;
  9.  
  10.     fflush(fp);
  11.     rv = Fseek(0L, fp->_file, 1);
  12.     return((rv < 0) ? ((errno = ((int) rv)), (-1)) : rv);
  13.     }
  14.  
  15. int fseek(fp, offset, origin)
  16.     register FILE *fp;
  17.     long offset;
  18.     int origin;
  19.     {
  20.     register long rv;
  21.  
  22.     fflush(fp);
  23.     rv = Fseek(offset, fp->_file, origin);
  24.     return((rv < 0) ? ((errno = ((int) rv)), (-1)) : 0);
  25.     }
  26.  
  27. void rewind(fp)
  28.     register FILE *fp;
  29.     {
  30.     register long rv;
  31.  
  32.     fflush(fp);
  33.     rv = Fseek(0L, fp->_file, SEEK_SET);
  34.     if(rv < 0)
  35.         errno = ((int) rv);
  36.     fp->_flag &= ~(_IOEOF|_IOERR);
  37.     }
  38.